home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / Utilities / ttf2pt1PPC / src / windows.h < prev   
C/C++ Source or Header  |  2001-06-13  |  2KB  |  103 lines

  1. /*
  2.  * Implementation of things missing in Windows
  3.  */
  4.  
  5. #ifndef M_PI
  6. #define M_PI  3.14159265358979323846
  7. #endif
  8.  
  9. #undef ntohs
  10. #undef ntohl
  11. #undef htonl
  12.  
  13. #ifdef WINDOWS_FUNCTIONS
  14. /* byte order */
  15.  
  16. #ifndef AMIGA
  17. static unsigned short StoM(unsigned short inv) {
  18.     union iconv {
  19.         unsigned short    ui;
  20.         unsigned char   uc[2];
  21.     } *inp, outv;
  22.  
  23.     inp = (union iconv *)&inv;
  24.  
  25.     outv.uc[0] = inp->uc[1];
  26.     outv.uc[1] = inp->uc[0];
  27.  
  28.     return (outv.ui);
  29. }
  30.  
  31. static unsigned int ItoM(unsigned int inv) {
  32.     union iconv {
  33.         unsigned int    ui;
  34.         unsigned char   uc[4];
  35.     } *inp, outv;
  36.  
  37.     inp = (union iconv *)&inv;
  38.  
  39.     outv.uc[0] = inp->uc[3];
  40.     outv.uc[1] = inp->uc[2];
  41.     outv.uc[2] = inp->uc[1];
  42.     outv.uc[3] = inp->uc[0];
  43.  
  44.     return (outv.ui);
  45. }
  46.  
  47. unsigned short ntohs(unsigned short inv) { return StoM(inv); }
  48. unsigned long ntohl(unsigned long inv) { return ItoM(inv); }
  49. unsigned long htonl(unsigned long inv) { return ItoM(inv); }
  50. #endif
  51.  
  52. char *optarg;
  53. int optind=1;
  54.  
  55. char getopt(int argc, char **argv, char *args) {
  56.     int n,nlen=strlen(args),nLen=0;
  57.     char nCmd;
  58.     
  59.     if (argv[optind] && *argv[optind]=='-') {
  60.         nCmd=*((argv[optind]+1));
  61.  
  62.         for (n=0;n<nlen;n++) {
  63.             if (args[n] == ':') continue;
  64.             if (args[n] == nCmd) {
  65.                 if (args[n+1]==':') {
  66.                     char retVal;
  67.                     retVal=*(argv[optind]+1);
  68.                     optarg=argv[optind+1];
  69.                     if (!optarg) optarg="";
  70.                     optind+=2;
  71.                     return retVal;
  72.                 } else {
  73.                     char retVal;
  74.                     retVal=*(argv[optind]+1);
  75.                     optarg=NULL;
  76.                     optind+=1;
  77.                     return retVal;
  78.                 }
  79.             }
  80.         }    
  81.     }
  82.     return -1;
  83. }
  84.  
  85. #else
  86.  
  87. unsigned short ntohs(unsigned short inv);
  88. unsigned long ntohl(unsigned long inv);
  89. unsigned long htonl(unsigned long inv);
  90.  
  91. extern char *optarg;
  92. extern int optind;
  93.  
  94. char getopt(int argc, char **argv, char *args);
  95. #endif
  96.  
  97. #ifdef AMIGA
  98. /* We're big endian */
  99. #define    ntohl(x)    (x)
  100. #define    ntohs(x)    (x)
  101. #endif
  102.  
  103.